<template>
	<div class="icons">
		<swiper :options="swiperOption">
			<swiper-slide v-for="(page, index) of pages" :key="index">
				<div class="icon" v-for="item of page" :key="item.id">
					<div class="icon-img">
						<img class="icon-img-content" :src="item.imgUrl">
					</div>
					<p class="icon-img-text">{{ item.imgText }}</p>
				</div>
			</swiper-slide>
		</swiper>
	</div>
</template>
<script>
	export default {
		name: 'icons',
		data () {
			return {
				swiperOption: {
					loop: false
				},
				iconList: [{
					id: '0001',
					imgUrl: 'static/images/icon-01.jpg',
					imgText: 'beautful girl'
				},{
					id: '0002',
					imgUrl: 'static/images/icon-01.jpg',
					imgText: 'beautful girl'
				},{
					id: '0003',
					imgUrl: 'static/images/icon-01.jpg',
					imgText: 'beautful girl'
				},{
					id: '0004',
					imgUrl: 'static/images/icon-02.jpg',
					imgText: 'beautful girl'
				},{
					id: '0005',
					imgUrl: 'static/images/icon-02.jpg',
					imgText: 'beautful girl'
				},{
					id: '0006',
					imgUrl: 'static/images/icon-02.jpg',
					imgText: 'beautful girl'
				},{
					id: '0007',
					imgUrl: 'static/images/icon-01.jpg',
					imgText: 'beautful girl'
				},{
					id: '0008',
					imgUrl: 'static/images/icon-01.jpg',
					imgText: 'beautful girl'
				},{
					id: '0009',
					imgUrl: 'static/images/icon-01.jpg',
					imgText: 'beautful girl'
				},{
					id: '0010',
					imgUrl: 'static/images/icon-02.jpg',
					imgText: 'beautful girl'
				}
				]
			}
		},
		computed: {
			pages () {
				const pages = []
				this.iconList.forEach((item, index) => {
					const page = Math.floor(index / 8)
					if (!pages[page]) {
						pages[page] = []
					}
					pages[page].push(item)
				})
				return pages
			}
		}
	}
</script>
<style scoped lang="stylus">
@import '~styles/varibles.styl'
@import '~styles/mixins.styl'
.icons >>> .swiper-container
	height: 0
	padding-bottom: 50%
.icon
	position: relative
	float: left
	width: 25%
	height: 0
	padding-bottom: 25%
	.icon-img
		position: absolute
		top: 0
		left: 0
		right: 0
		bottom: .44rem
		box-sizing: border-box
		padding: .1rem
		.icon-img-content
			display: block
			margin: 0 auto
			height: 100%
	.icon-img-text
		position: absolute
		left: 0
		right: 0
		bottom: 0
		height: .44rem
		line-height: .44rem
		text-align: center
		color: $darkTextColor
		ellipsis()
</style>	